package com.zhonghui.scm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhonghui.common.annotation.Excel;
import com.zhonghui.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 供应链SCM-采购管理-采购退货子对象 scm_purchase_return
 *
 * @author zhonghui
 * @date 2022-05-26
 */
@ApiModel("供应链SCM-采购管理-采购退货子对象")
public class ScmPurchaseReturn extends BaseEntity {

    /** id */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private Long id;

    /** 退货单号 */
    @Excel(name = "退货单号")
    @ApiModelProperty("退货单号")
    private String returnNo;

    /** 到货id */
    @ApiModelProperty("到货id")
    private Long purchasingArrivalId;

    /** 发货单号 */
    @Excel(name = "发货单号")
    @ApiModelProperty("发货单号")
    private String deliveryNumber;

    /** 合同编号 */
    @Excel(name = "合同编号")
    @ApiModelProperty("合同编号")
    private String purchasingContractNo;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商名称")
    private String saleSupplierName;

    /** 供应商id */
    @Excel(name = "供应商id")
    @ApiModelProperty("供应商id")
    private Long supplierId;

    /** 退货日期 */
    @Excel(name = "退货日期")
    @ApiModelProperty("退货日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date returnDate;

    /** 退货金额 */
    @ApiModelProperty("退货金额")
    @Excel(name = "退货金额")
    private BigDecimal returnAmount;

    /** 创建人id */
    @Excel(name = "创建人id")
    @ApiModelProperty("创建人id")
    private Long founderId;

    /** 创建人 */
    @Excel(name = "创建人")
    @ApiModelProperty("创建人")
    private String founderName;

    /** 创建时间 */
    @Excel(name = "创建时间")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date founderDate;

    /** 采购退货明细信息 */
    @ApiModelProperty("采购退货明细信息")
    private List<ScmPurchaseReturnItem> scmPurchaseReturnItemList = new ArrayList<>();

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getReturnNo() {
        return returnNo;
    }

    public void setReturnNo(String returnNo) {
        this.returnNo = returnNo;
    }

    public Long getPurchasingArrivalId() {
        return purchasingArrivalId;
    }

    public void setPurchasingArrivalId(Long purchasingArrivalId) {
        this.purchasingArrivalId = purchasingArrivalId;
    }

    public String getDeliveryNumber() {
        return deliveryNumber;
    }

    public void setDeliveryNumber(String deliveryNumber) {
        this.deliveryNumber = deliveryNumber;
    }

    public String getPurchasingContractNo() {
        return purchasingContractNo;
    }

    public void setPurchasingContractNo(String purchasingContractNo) {
        this.purchasingContractNo = purchasingContractNo;
    }

    public String getSaleSupplierName() {
        return saleSupplierName;
    }

    public void setSaleSupplierName(String saleSupplierName) {
        this.saleSupplierName = saleSupplierName;
    }

    public Date getReturnDate() {
        return returnDate;
    }

    public void setReturnDate(Date returnDate) {
        this.returnDate = returnDate;
    }
    public BigDecimal getReturnAmount() {
        return returnAmount;
    }

    public void setReturnAmount(BigDecimal returnAmount) {
        this.returnAmount = returnAmount;
    }

    public Long getFounderId() {
        return founderId;
    }

    public void setFounderId(Long founderId) {
        this.founderId = founderId;
    }

    public String getFounderName() {
        return founderName;
    }

    public void setFounderName(String founderName) {
        this.founderName = founderName;
    }

    public Date getFounderDate() {
        return founderDate;
    }

    public void setFounderDate(Date founderDate) {
        this.founderDate = founderDate;
    }

    public List<ScmPurchaseReturnItem> getScmPurchaseReturnItemList() {
        return scmPurchaseReturnItemList;
    }

    public void setScmPurchaseReturnItemList(List<ScmPurchaseReturnItem> scmPurchaseReturnItemList) {
        this.scmPurchaseReturnItemList = scmPurchaseReturnItemList;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    @Override
    public String toString() {
        return "ScmPurchaseReturn{" +
                "id=" + id +
                ", returnNo='" + returnNo + '\'' +
                ", purchasingArrivalId=" + purchasingArrivalId +
                ", deliveryNumber='" + deliveryNumber + '\'' +
                ", purchasingContractNo='" + purchasingContractNo + '\'' +
                ", saleSupplierName='" + saleSupplierName + '\'' +
                ", returnDate=" + returnDate +
                ", returnAmount=" + returnAmount +
                ", founderId=" + founderId +
                ", founderName='" + founderName + '\'' +
                ", founderDate=" + founderDate +
                ", scmPurchaseReturnItemList=" + scmPurchaseReturnItemList +
                '}';
    }
}
